package cn.edu.ujn.bmis.dao.imp;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.stereotype.Component;

import cn.edu.ujn.bmis.dao.DonatorDao;
import cn.edu.ujn.bmis.model.Donator;
import cn.edu.ujn.bmis.tools.Helper;

@Component("donatorDao")
public class DonatorDaoImp implements DonatorDao {

	private HibernateTemplate hibernateTemplate;
	private Helper helper;

	public boolean saveDonator(Donator donator) {
		try {
			hibernateTemplate.save(donator);
			return true;
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}
	}

	public HibernateTemplate getHibernateTemplate() {
		return hibernateTemplate;
	}

	@Resource(name = "hibernateTemplate")
	public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
		this.hibernateTemplate = hibernateTemplate;
	}

	@SuppressWarnings("unchecked")
	public List<Donator> findDonator(String hql) {

		return helper.find(hql);

	}

	public Helper getHelper() {
		return helper;
	}

	@Resource(name = "helper")
	public void setHelper(Helper helper) {
		this.helper = helper;
	}

	public boolean update(String hql) {
		try {
			int result = 0;
			result = hibernateTemplate.bulkUpdate(hql);
			if (result > 0) {
				return true;
			} else {
				return false;
			}
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}
		
	}

	public boolean update(Donator donator) {
		try {
			hibernateTemplate.update(donator);
			return true;
		} catch (Exception e) {
			return false;
		}
	}
}
